Data format conversion for electronic devices

ABSTRACT

Format converters and methods of performing data format conversion are provided. The format converters may convert compressed data into a different compressed format that is compatible with the Bluetooth transmission standard. The format converter may decompose the compressed data into frequency domain data streams of different frequency sub-bands. The format converter may transform each data stream of frequency domain information from a first encoding scheme to a second encoding scheme, and may then quantize the transformed data steams based on bit allocation information for each sub-band. The format converters may also include a bit allocation component which computes the bit allocation information for each sub-band based on an unfiltered version of the compressed data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/346,330 filed Dec. 30, 2008, which claims the benefit of U.S.Provisional Patent Application No. 61/018,176 filed Dec. 31, 2007. Thecontents of these applications are hereby incorporated by reference.

FIELD OF THE INVENTION

This can relate to data format conversion in electronic devices and,more particularly, to the conversion of data into a format suitable fora particular transmission protocol.

BACKGROUND OF THE DISCLOSURE

Portable electronic devices such as digital electronic devices (e.g.,music players and video players) are known. These devices are typicallypowered by one or more batteries. Batteries store a fixed amount ofenergy. Therefore, efficient use of the fixed energy source is desirablein order to maximize the length of time between battery replacements orrecharges.

One operation that can consume the energy of a portable electronicdevice is format conversion of data. For example, the portableelectronic device may be a media player that converts media files storedin a compressed format to a Bluetooth-compatible format. This type offormat conversion allows the portable electronic device to wirelesslytransmit media to a Bluetooth headset, for example, thereby enablingcordless use of the portable electronic device. While this wirelessfunctionality is generally desirable, the format conversion performed bythe portable electronic device may quickly drain the energy stored inits battery. Therefore, it would be desirable to provide anenergy-efficient technique for converting data to a Bluetooth-compatibleformat.

SUMMARY OF THE DISCLOSURE

Systems and methods are provided for converting the format of data intoa different format compatible with Bluetooth.

Electronic devices may communicate with one another using the Bluetoothprotocol. For an electronic device to transmit data to another device,the transmitting electronic device may need to convert the transmitteddata from its original format to a format compatible with the Bluetoothtransmission protocol. The transmitted data may originally be in a firstencoding format, such as in a compressed format suitable for storagepurposes. For example, the transmitted data may be audio media, and mayoriginally be in an MPEG-1 Audio Layer-3 (“MP3”) or an MPEG-4 format, orin another format obtained from advanced audio coding (“AAC”). The firstencoding format can represent data in the frequency domain, and may notbe suitable for the Bluetooth protocol.

To convert the format of the compressed data to one that is compatiblewith Bluetooth, the electronic device can include a format converter forperforming data format conversion on frequency domain information (e.g.,audio media in a first encoding format) to produce data in a second,Bluetooth-compatible encoding format. Various embodiments are providedfor performing this data conversion in an energy-efficient manner,thereby conserving battery power in a portable electronic device.

In some embodiments of the invention, the format converter can include aband separation module, a bit allocation unit, a plurality of conversionmodules, and a plurality of quantizers. The band separation module candecompose the frequency domain information (e.g., AAC-encoded data),which is contained within a frequency band, into a plurality of datastreams. For example, the band separation module can act as ademultiplexer to separate the frequency domain information into partsbased on frequency ranges. Each data stream can be in the frequencydomain and can be associated with a distinct sub-band of the frequencyband. The band separation module can decompose an unfiltered version ofthe frequency domain information. An “unfiltered version” of informationmay hereinafter refer to information in the first encoding format, wherethe information has not yet started a transformation into the secondencoding format.

In some embodiments, the bit allocation unit may be configured tocompute bit allocation information for each of the distinct sub-bandsusing the unfiltered version of the frequency domain information. Thebit allocation information for each sub-band may be indicative of theamount of the frequency domain information contained in that sub-band.

The format converter can include a plurality of conversion modules. Insome embodiments, each of the conversion modules can be configured totransform one of the data streams produced by the band separation modulefrom the first encoding format to the second encoding format. Forexample, each conversion module may transform one of the data streamsfrom a first frequency domain representation (e.g., AAC) of a timedomain signal into a second frequency domain representation of the timedomain signal. The second frequency domain representation may becompatible with the Bluetooth transmission protocol, and the conversionmodules may transform the data streams from the first to the secondfrequency domain representation without first converting the datastreams into the time domain.

The plurality of quantizers can each be configured to quantize one ofthe transformed data streams. In some embodiments, each of thequantizers can perform the quantization on a transformed data streambased on the bit allocation information for the sub-band associated withthat transformed data stream. For example, a quantizer may use more data(e.g., more quantization levels) to represent a transformed data streamwhen the bit allocation information for the associated sub-bandindicates that the transformed data stream corresponds to a largeramount of the frequency domain information. A quantizer may use lessdata (e.g., fewer quantization levels) to represent a transformed datastream when the associated bit allocation information indicates that thetransformed data stream corresponds to a smaller amount of the frequencydomain information.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects and advantages of the invention will becomemore apparent upon consideration of the following detailed description,taken in conjunction with the accompanying drawings, in which likereference characters refer to like parts throughout, and in which:

FIG. 1 shows a simplified system diagram with Bluetooth-enabledelectronic devices in accordance with an embodiment of the invention;

FIG. 2 shows a simplified block diagram of an audio format converter inaccordance with an embodiment of the invention;

FIGS. 3 and 4 show more detailed, yet still simplified, block diagramsof audio format converters in accordance with various embodiments of theinvention;

FIG. 5 shows a flow diagram of a simplified process for converting datainto a format suitable for Bluetooth transmission in accordance with anembodiment of the invention; and

FIG. 6 shows a flow diagram of a simplified process for allocating bitswhen converting data for Bluetooth transmission in accordance with anembodiment of the present invention.

DETAILED DESCRIPTION OF THE DISCLOSURE

Data can be transferred from one electronic device to another using anestablished transmission protocol. For example, two devices that haveBluetooth capability can communicate with one another wirelessly using aBluetooth interface. FIG. 1 illustrates a system that can include twosuch electronic devices: portable electronic device 100 andBluetooth-enabled device 120.

In some embodiments, portable electronic device 100 can be configured totransmit data to Bluetooth-enabled device 120 via Bluetooth connection110. For example, portable electronic device 100 can be a portable mediaplayer (e.g., Apple's iPod or iPhone) that can provide music, videos,pictures, or any other type of media to Bluetooth-enabled device 120.Bluetooth-enabled device 120 can be a corresponding audio, visual, oraudio/visual output device that can play the media received fromportable electronic device 100. In one such embodiment,Bluetooth-enabled device 120 can be a wireless headset that has any ofthe features or functionalities of the wireless headsets discussed incommonly assigned U.S. patent application Publication No. 2008-0164934,published Jul. 10, 2008, which is hereby incorporated herein byreference in its entirety. In this embodiment, a user of portableelectronic device 100 and Bluetooth-enabled device 120 can view orlisten to media without the inconvenience of having a physical cableconnecting these devices.

Portable electronic device 100 can include storage module 102, audioprocessing circuitry 104, and Bluetooth communications circuitry 106.These components enable portable electronic device 100 to provide mediain a format that can be transmitted to Bluetooth-enabled device 120 viaBluetooth connection 110. The media that is transmitted toBluetooth-enabled device 120 can be stored in and provided from storagemodule 102. Storage module 102 can be based on any suitable type ofstorage medium, such as random access memory (“RAM”), read-only memory(“ROM”), hard disk, or FLASH-based storage system. In some embodiments,storage module 102 can be a removable storage element, such as a digitalversatile disk (“DVD”) or CD-ROM, that is coupled to and read from byportable electronic device 100.

The media files stored in storage module 102 can be in a format that ispreferable for storage, but not particularly suitable for Bluetoothtransmission. For example, media can be stored in a compressed formatthat efficiently utilizes storage space of storage module 102, but isnot compatible with the Bluetooth transmission standard. For audiofiles, the compressed media can be encoded using an MP3, MPEG-4, or AACcompression algorithm, none of which is compatible with Bluetooth. Audioprocessing circuitry 104 can therefore include any suitable circuitry orlogic for processing the media files stored in storage module 102 suchthat the resulting audio data is in a format compatible with Bluetoothtransmission.

Bluetooth communications circuitry 106 can prepare data, such asdecompressed audio from audio processing circuitry 104 (or other datastored in storage module 102), into signals capable of being transmittedusing Bluetooth connection 110. Bluetooth communications circuitry 106can operate on media and other types of data that are compatible withthe Bluetooth standard. To prepare this compatible data fortransmission, Bluetooth communications circuitry 106 may, for example,assemble the data into frame sizes that are specified by the Bluetoothstandard. Bluetooth communications circuitry 106 may also include anysuitable modulators/demodulators that can convert the data into signalsusing a modulation scheme specified by the standard. Thus, the Bluetoothcapabilities of portable electronic device 100 may be embodied byBluetooth communications circuitry 106.

Although FIG. 1, as well as the remaining figures in this disclosure,are described in terms of transmitting media data, and in particularaudio data, from a portable electronic device (e.g., portable electronicdevice 100), it should be understood that this is merely illustrativeand intended to simplify the description of the invention. Portableelectronic device 100 may be configured to store and transmit othertypes of data, such as but not limited to, information about media(e.g., artist name, song title), preference settings, device settings,or user information. Also, while FIG. 1 and the remaining figures inthis disclosure are described in terms of converting data into aBluetooth-compatible format, it should be understood that the advantagesand aspects of the present invention may be used with other transmissionprotocols. Therefore, the embodiments are described in terms ofBluetooth for clarity and simplification, and not for limitation.

FIG. 2 shows a simplified block diagram of audio format converter 200that may convert audio from its current format to a format compatiblewith the Bluetooth protocol. Audio format converter 200 illustrates oneembodiment of audio processing circuitry 104 shown in FIG. 1. Audioformat converter 200 may include decompressor 204 and Bluetooth-friendlyencoder 208 for performing format conversion on compressed data 202.Compressed data 202 may be audio media derived from a storage module(e.g., storage module 102), and may be encoded using a compressionalgorithm not suitable for Bluetooth transmission (e.g., MPEG, MP3, orAAC).

Decompressor 204 can be used to decode compressed data 202. As a result,decompressor 204 can recover a lossy version of the original,uncompressed data. This lossy version is referred to in FIG. 2 asdecompressed data 206. For example, if compressed data 202 is audiomedia represented in an MP3 or MPEG-4 format, decompressor 204 can be anMP3 or MPEG-4 decoder that converts the audio file into a lossy,digitized audio signal. Thus, decompressed data 206 produced bydecompressor 204 can be a different representation of the same audiomedia.

Decompressed data 206 can be in a format that uses a significantlygreater number of bits or data units in the representation of the audiomedia than that used by compressed data 202. As the Bluetoothtransmission scheme has a limited transmission throughput, directlytransmitting decompressed data 206 may be undesirable. In particular,directly transmitting decompressed data 206 may be slower than a usercan tolerate and may overly drain the battery of a portable electronicdevice. Therefore, Bluetooth-friendly encoder 208 can encodedecompressed data 206 to produce re-compressed data 210. Re-compresseddata 210 is yet another representation of the same audio media. Likecompressed data 202, re-compressed data 210 may be a significantlysmaller-sized representation of the audio media. However, thecompression algorithm used by Bluetooth-friendly encoder 208 can bedifferent from the algorithm originally used to obtain compressed data202, and can instead be a compression technique compatible withBluetooth. Thus, re-compressed data 210 can be suitable for processingby the device's Bluetooth communications circuitry (e.g., Bluetoothcommunications circuitry 106). For example, rather than encoding theaudio using the MP3 or MPEG-4 compression algorithm, Bluetooth-friendlyencoder 208 can encode the audio media data using an encoding techniquereferred to as “sub-band coding.” Sub-band coding refers to any encodingtechnique that decomposes the data it intends to encode into multiplefrequency sub-bands, and then separately encodes the data in eachfrequency sub-band. Due to the characteristics of audio and visualmedia, as well as user perception of audio and visual media, sub-bandcoding can be especially effective for encoding audio and video signals.

FIG. 3 shows a more detailed, yet still simplified, block diagram of anaudio format converter 300, which can be configured to decode andre-encode data using sub-band encoding. Audio format converter 300 canbe representative of a more detailed view of audio format converter 200of FIG. 2, and therefore can illustrate an embodiment of audioprocessing circuitry 104 of FIG. 1, or it can be a completely separatedesign. Audio format converter 300 can include IMDCT component 304,polyphase filter 308, quantizers 314 a-314 n, and bit allocationcomponent 316.

Format converter 300 can operate on frequency domain information 302(e.g., on an unfiltered version of frequency domain information 302).Frequency domain information 302 can represent any suitable type ofmedia (e.g., audio, visual, audio/visual), and can be obtained from anyof a variety of sources, such as a storage module (e.g., storage module102 of FIG. 1). Frequency domain information 302 can have any of thefeatures of compressed data 202 of FIG. 2, and can be in a format thatrepresents data in the frequency domain. That is, frequency domaininformation 302 can include a plurality of data units, where the valueof each data unit indicates the amount of information at a givenfrequency. Frequency domain information 302 can be compressed audiodata. For example, frequency domain information 302 can be a media filethat has been encoded using advanced audio coding (“AAC”). The AACstandard provides a compression technique that converts audio data,represented in the time domain, to the frequency domain using atransform referred to as the modified discrete cosine transform(“MDCT”). However, it should be understood that the audio signals can beencoded based on any suitable type of transform-based compressionalgorithm (e.g., DCT).

IMDCT component 304 can have any of the features or functionalities of adecompressor such as decompressor 204 in FIG. 2. In particular, IMDCTcomponent 304 can decompress frequency domain information 302 such thatit can be re-encoded into a Bluetooth-friendly format. IMDCT component304 can include any suitable circuitry or logic for performing aninverse modified discrete cosine transform (“IMDCT”). The IMDCTperformed by IMDCT component 304 is the inverse process of the MDCT, andcan therefore decompress AAC-encoded frequency information or any otherfrequency information originally encoded using an MDCT-based compressionalgorithm. However, it should be understood that IMDCT component 304 canbe replaced with a component based on a different inverse transform(e.g., IDCT) if frequency domain information 302 is encoded using adifferent compression technique.

IMDCT component 304 can provide time domain information 306 that is atime domain representation of frequency domain information 302. Thefrequency structure of audio often allows audio media to be moreconcisely represented in the frequency domain. Therefore, time domaininformation 306 can be a substantially larger representation of the sameaudio media. To re-compress this information, time domain information306 can be processed by polyphase filter 308 and quantizers 314 a-314 n.Polyphase filter 308 and quantizers 314 a-314 n may operate collectivelyto implement sub-band coding.

Polyphase filter 308 can first decompose time domain information 306into a plurality of separate data streams in the frequency domain.Polyphase filter 308 can convert time domain information 306 into thefrequency domain, and can decompose the resulting frequency domainrepresentation into separate data streams. Polyphase filter 308 canconvert and decompose time domain information 306 into any suitablenumber of data streams in the frequency domain. For example, referringto FIG. 3, polyphase filter 308 can convert and separate time domaininformation 306 into N different data streams, e.g., into frequencydomain data stream 310 a through frequency domain data stream 310 n,where N can be any suitable number of at least two.

Each data stream produced by polyphase filter 308 may be associated witha particular frequency sub-band. For example, Data stream 310 a caninclude frequency data contained in the first sub-band (sub-band 1) anddata stream 310 n can include frequency data contained in the Nthsub-band (sub-band N). For audio media, the first frequency sub-band canbe within a band of frequency that, for example, encompasses the lowesttones that can be deciphered by the human ear. The Nth frequencysub-band can encompass the highest tones decipherable by the human ear.

Quantizers 314 a-314 n can quantize the data streams into quantizationlevels. The quantization levels can refer to the different digitalvalues used by a quantizer to represent its corresponding portion of theaudio media. Each quantizer may use the same or a different number ofquantization levels as another quantizer. A larger number ofquantization levels in a given frequency range allows for consecutivequantization levels to be closer in value, and therefore allows for afiner resolution in the resulting encoded stream. This can beadvantageous for frequency sub-bands that carry a large proportion offrequency domain information 302. A larger number of quantization levelsalso, however, increases the amount of encoded information that may beneeded to represent each data stream.

Quantizers 314 a-314 n can quantize the frequency domain data streamsusing quantization levels based on control information 318. Controlinformation 318, which may sometimes be referred to as “bit allocationinformation,” can be computed by bit allocation component 316. Bitallocation component 316 can identify which data streams provided bypolyphase filter 308 contain more frequency information relative toother data streams, and therefore which data streams warrant beingencoded with a finer resolution. Thus, based on control information 318,quantizers 314 a-314 n can provide quantized data streams of varyingresolutions, and therefore varying data sizes, that are then arrangedinto frames for transmission using a Bluetooth connection (e.g., byBluetooth communications circuitry 106 of FIG. 1). This enables theBluetooth transmission to be as small as possible while maintaining theproper quality in the overall signal (e.g., by only increasingresolution and data size where it is needed).

Audio format converters 200 and 300 of FIGS. 2 and 3 illustrate merelyone technique for preparing compressed data for transmission usingBluetooth. In particular, format converters 200 and 300 illustrate atechnique that fully decodes compressed data, and then completelyre-encodes the decompressed data into a Bluetooth-friendly format. For aportable electronic device, such as a portable media player (e.g.,Apple's iPod or iPhone), these decoding and encoding steps can becomputationally expensive, and can therefore more quickly consume theenergy stored in the device's battery. In particular, in someembodiments, the speed requirements of an electronic device maynecessitate a more energy-consuming implementation of audio formatconverters 200 and 300 than would otherwise be necessary. For example,if a stored music file is being rendered by audio format converters 200and 300 and played by a Bluetooth-enabled wireless headset, audio formatconverters 200 and 300 may need to decode and re-encode the media filesuch that the music can be played by the wireless headset in real-timeand without interruption. Implementations of audio format converters 200and 300 that can perform real-time decoding and re-encoding of data maybe energy-consuming.

Polyphase filter 308 can be a particularly energy-consuming component ofthe components in audio format converter 300 of FIG. 3. Polyphase filter308 operates on data in the time domain and provides a plurality ofseparate data streams in the frequency domain. The real-timetime-to-frequency conversion performed by polyphase filter 308 may behighly resource-intensive.

FIG. 4 shows a simplified block diagram of audio format converter 400that can address at least some of the complexity issues previouslydiscussed, and therefore increase the efficiency of battery use inportable electronic devices. Audio format converter 400 can include bandseparation module 408, conversion modules 404 a-404 n, quantizers 414a-414 n, and bit allocation component 416.

As described above, frequency domain information 402 can be data of anysuitable type and can be compressed using any suitable MDCT-basedcompression scheme (e.g., AAC-encoding) or other frequency-basedcompression scheme. Band separation module 408 can decompose frequencydomain information 402 into a plurality of data streams. For example, asshown in FIG. 4, band separation module 408 can separate frequency 465domain information 402 into N separate frequency domain data streams 409a-409 n, where N is at least two.

Each of frequency domain data streams 409 a-409 n may be associated witha distinct sub-band. For example, data stream 409 a can include the partof frequency domain information 402 contained in sub-band 1, and datastream 409 n can include the part of frequency domain information 402contained in sub-band N. Band separation module 408 may therefore have asimilar task as polyphase filter 308 (FIG. 3) of producing a pluralityof data streams in the frequency domain. Unlike polyphase filter 308,both the input data and the output data of band separation module 408are represented in the same domain—e.g., the frequency domain. Bandseparation module 408 can therefore produce a plurality of data streamsby dividing frequency domain information 402 into N parts. Thus, in someembodiments, band separation module 408 is essentially a 1:Ndemultiplexer, and may be implemented using any known demultiplexerimplementations.

Demultiplexers can be implemented using logic or circuitry that is notcomputationally expensive. A demultiplexer implementation of bandseparation module 408 can therefore be substantially moreenergy-efficient than polyphase filter 308 of FIG. 3. This is due atleast in part to the ability of band separation module 408 to operatesolely in one domain, the frequency domain. Although band separationmodule 408 and polyphase filter 308 may have the same or similarfunction of separating data based on different frequency sub-bands,these components can perform substantially different operations thatconsume substantially different amounts of power.

Frequency domain data streams 409 a-409 n can each be provided to one ofconversion modules 404 a-404 n. Conversion modules 404 a-404 n can eachoperate on one of the data streams provided by band separation module408. For example, conversion module 404 a may process data stream 409 aassociated with the lowest sub-band (e.g., sub-band 1) and conversionmodule 404 n may process the data stream 409 n associated with thehighest sub-band (e.g., sub-band N). Conversion modules 404 a-404 n mayperform any suitable operations to transform frequency domain datastreams 409 a-409 n (having a first encoding format) into transformedfrequency domain data streams 405 a-405 n (having a second encodingformat). For example, if the first encoding format is an AAC encodingformat, conversion modules 404 a-404 n may translate the MDCT-basedfrequency representation of frequency domain information 409 a-409 ninto data based on a different frequency transform.

In some embodiments, conversion modules 404 a-404 n may convertfrequency domain data streams 409 a-409 n to an encoding format based ona frequency transform that is compatible with the Bluetooth protocol. Inthese embodiments, frequency domain data streams 409 a-409 n may bereferred to as Bluetooth sub-band frequency information. This way, theconverted data produced by conversion modules 404 a-404 n can be in aformat that allows the converted data to be assembled into frames andtransmitted using Bluetooth. The converted data can (after beingquantized by quantizers 414 a-414 n) be directed to Bluetoothcommunications circuitry (e.g., Bluetooth communications circuitry 106of FIG. 1), which can transmit the compressed data to anotherBluetooth-enabled device (e.g., Bluetooth-enabled device 120 of FIG. 1),for example.

Using conversion modules 404 a-404 n, audio format converter 400essentially takes advantage of the known properties of two knownencoding formats—that is, the first encoding format of frequency domaininformation 402 and the second encoding format of the Bluetooth-friendlydata. Using these known properties, conversion modules 404 a-404 n maygenerate Bluetooth-friendly frequency information without first havingto decompress frequency domain information 402 (or the correspondingdata streams) into its time domain representation. Conversion modules404 a-404 n can in essence partially decode compressed data and thenpartially re-encode the decoded data. When compared to audio formatconverter 300 of FIG. 3, which fully decodes compressed data into thetime domain and fully re-encodes that data, the number and complexity ofthe computations executed by format converter 400 may be significantlylower.

Quantizers 414 a-414 n can quantize the transformed data streams 405a-405 n produced by conversion modules 404 a-404 n. Quantizers 414 a-414n may have any of the features and functionalities and/or additionalfeatures and functionalities of quantizers 314 a-314 n (FIG. 3). Forexample, each quantizer may quantize a transformed data stream, which isassociated with a distinct sub-band, into digital values based onquantization levels. In some embodiments, quantizers 414 a-414 n candetermine the number and resolution of the quantization levels for eachtransformed data stream based on control information 418 computed by bitallocation component 416, for example.

Bit allocation component 416 can have any of the features andfunctionalities of bit allocation component 316 of FIG. 3 and/oradditional features and functionalities. For example, bit allocationcomponent 416 can identify the amount and/or magnitude of frequencydomain information 402 included in each frequency sub-band, andtherefore the amount of quantization that should be used for eachsub-band. Unlike in FIG. 3, bit allocation component 416 can computecontrol information 418 based on the frequency profile of an unfilteredversion of frequency domain information 402. In other words, bitallocation component 416 can compute control information 418 based onaudio media data in its original, first encoding format. Becausefrequency domain information 402 is in the frequency domain, bitallocation component 416 can directly analyze the frequency profile ofthe unfiltered version of frequency domain information 402. This mayallow bit allocation component 416 to be implemented in a way thatmanages energy consumption in an even more efficient manner.

Moreover, it can be beneficial for bit allocation component 416 tooperate using an unfiltered version of frequency domain information 402because of the potentially high-quality compression techniques used toobtain frequency domain information 402. Frequency domain information402 can be obtained using more complex and effective compressionalgorithms that may not be able to operate in real time. The compressionalgorithms may not need to operate in real time when, for example, thecompression algorithms used to obtain frequency domain information 402are intended to compress media files for storage (e.g., in storagemodule 102) and not to enable real-time rendering. Due to thehigh-quality encoding technique employed, frequency domain information402 may have been compressed such that any adverse data loss effects onthe overall audio media can be minimal. Accordingly, an unfilteredversion of frequency domain information 402 can be used as an effectiveblueprint for determining the appropriate bit allocation for differentfrequency bands.

Bit allocation component 316 of FIG. 3, in comparison, operates on datathat is in the midst of being re-encoded in real-time. Accordingly, theinformation used by bit allocation component 316 may not as effectivelyindicate the appropriate number of quantization levels to use for eachsub-band. Therefore, it can be advantageous for bit allocation component416 to use frequency domain information 402 to determine the bitallocation of quantizers 414 a-414 n.

In some operating scenarios, from examining an unfiltered version offrequency domain information 402, bit allocation component 416 candetermine that one or more of frequency domain data streams 409 a-409 ndoes not contain any or a sufficient amount of information. With someaudio media, for example, particular sub-bands of frequency may notcontain sufficient information to affect the overall sound of the audio,or may be masked by neighboring sub-bands that contain a substantiallygreater amount or magnitude of information. In these scenarios, bitallocation component 416 can selectively disable the conversion moduleassociated with the frequency sub-bands of little information. Forexample, if frequency domain information 409 a of the first sub-band haslittle or no information, bit allocation component 416 can disableconversion module 404 a via control information 418. Therefore, only asubset of conversion modules 404 a-404 n may be used to transformfrequency domain data streams 409 a-409 n, thereby decreasing the totalamount of computations used for the conversion operation. Because theconversion operation can constitute a large proportion of the energyused by an audio format converter, the ability of audio format converter400 to selectively enable or disable each of conversion modules 404a-404 n may significantly decrease the energy used by format converter400, and therefore increase the battery life of the electronic device.

FIG. 5 shows a simplified flow diagram of process 500 for converting theformat of encoded data into a Bluetooth-compatible format in accordancewith an embodiment of the invention. The illustrative steps of process500 can be performed by a format converter, such as audio formatconverter 400 of FIG. 4. Process 500 can begin at step 502. At step 504,the format converter can obtain frequency domain information. Thefrequency domain information can be a representation of audio, visual,or audio/visual media, and can be frequency-encoded using any suitablefrequency transform-based compression algorithm (e.g., the AACalgorithm). The frequency domain information may be contained within afrequency band, such as within a band where the frequencies aredecipherable by the human ear. The frequency domain information can beobtained from any of a variety of sources, such as a storage module(e.g., storage module 102 of FIG. 1).

At step 506 of FIG. 5, the format converter can decompose the frequencydomain information into a plurality of data streams. The data streamscan be associated with distinct frequency sub-bands of the frequencyband, where each data stream can represent the frequency domaininformation contained in one sub-band. At step 508, the format convertercan transform each data stream to a format compatible with Bluetooth.For AAC-encoded music files, for example, the format converter canconvert the MDCT-based data into a format that uses a differentfrequency transform-based compression algorithm (e.g., DCT-basedalgorithm). Then, at step 510, the format converter can assemble thetransformed data streams into frames of appropriate sizes for Bluetoothtransmission, and may perform any other functions necessary to preparethe transformed data streams for transmission over a Bluetooth link.Process 500 can then move to step 512 and end.

It should be understood that the steps of process 500 in FIG. 5 aremerely illustrative. Any of the steps may be modified, removed, orcombined, and additional steps may be added, without departing from thescope of the present invention. For example, a quantization step may beadded to process 500, which can be used to quantize the transformed datastreams prior to being prepared for Bluetooth transmission.

Referring now to FIG. 6, an illustrative flow diagram of process 600 isshown for allocating bits in a frequency sub-band using sub-band codingin accordance with an embodiment of the invention. Process 600 alsoillustrates one technique that a format converter (e.g., formatconverter 400 of FIG. 4) can use to convert encoded data from a firstencoding format to second encoding format using an energy-efficienttechnique. Process 600 can start at step 602. At step 604, the formatconverter can obtain frequency domain information representative ofmedia. For example, the frequency domain information can be arepresentation of audio, visual, or audio/visual media that lies withina frequency band, and can be frequency-encoded using any suitablefrequency transform-based compression algorithm (e.g., the AACalgorithm).

In some embodiments, the compression algorithm used to create to thefrequency domain information obtained at step 602 may be a high-qualitycompression algorithm. That is, the compression algorithm may beresource-intensive and not practical to perform in real-time, but mayallocate bits to different frequency sub-bands in a manner thatminimizes the adverse effects of compression. For example, thecompression algorithm may be capable of effectively allocating bits inthe frequency domain information for different sub-bands of the overallfrequency band based on the frequency profile of the audio, video, oraudio/visual media.

Process 600 may continue to step 606. At step 606, the format convertercan compute bit allocation information for each sub-band. The formatconverter can compute the bit allocation information using, for example,a bit allocation component (e.g., bit allocation component 416). The bitallocation information for each sub-band may be indicative of an amountof the frequency domain information contained in that sub-band. Theformat converter can examine the amount of the original frequency domaininformation is contained in each frequency sub-band, and can determinewhich sub-bands warrant the most bits.

In some embodiments, the format converter can compute the bit allocationinformation at step 606 using an unfiltered version of the frequencydomain information. That is, the format converter may operate using allor part of the frequency domain information while the frequency domaininformation is still in its original encoding format, and not partiallyor fully converted into the second encoding format. Because the originalfrequency domain information was produced from a high-qualitycompression algorithm, piggybacking off the computations of thehigh-quality compression algorithm may allow the bit allocationinformation to be both effective and computed in real-time.

Process 600 may continue to the steps of sub-process 607. The formatconverter can perform the steps of sub-process 607 for each of thesub-bands. At step 608, the format converter can determine whether thereis sufficient amount of the frequency comain information contained inthe current sub-band. The format converter can make this determinationbased on the bit allocation information previously computed at step 606for the current sub-band. For example, the bit allocation informationcan indicate whether there is zero information in that sub-band, orwhether there is below a predetermined amount of the frequency domaininformation in that sub-band (e.g., whether the magnitude of thefrequency coefficients would not be perceived by a human ear and/oreye). If, at step 606, the format converter determines that there isinsufficient information in the sub-band, process 600 can move to step610.

At step 610, the format converter (or another component, such asBluetooth circuitry) can omit data from the current sub-band inBluetooth transmission frames. The Bluetooth frames can instead includeinformation from one or more of the other sub-bands. In this situation,the format converter may not need to operate on (e.g., perform formatconversion on) the data in the sub-band, and may rely on the informationin the other sub-bands to produce an appropriate representation of theoverall data. Following step 610, process 600 may move to step 612 andend (or return to step 608 so that the format converter can performsub-process 607 for another sub-band).

Returning to step 608, if the format converter determines that there issufficient information present in the sub-band (e.g., the audio, video,or audio/visual would be substantially perceived by a human ear and/oreye), process 600 can move to step 614. At step 614, the formatconverter can transform an associated data stream for the sub-band froma first encoding format into a second encoding format compatible withBluetooth-transmission. The data stream may be a portion of thefrequency domain information that is contained within the currentsub-band.

Then, at step 616, the format converter can quantize the transformeddata stream in the sub-band. The format converter can perform thisquantization operation based on the bit allocation informationpreviously computed at step 606. For example, the format converter canuse a large number of quantization levels to achieve a finer resolutionif the bit allocation information indicates that a relatively largeproportion of the original frequency domain information (obtained atstep 602) is contained within that sub-band. The format converter canuse a small number of quantization levels to achieve a coarserresolution if the bit allocation information indicates that a relativelysmall proportion of the original frequency domain information iscontained within the sub-band. As described above, because the bitallocation information may be computed based on an unfiltered version ofthe original frequency domain information, the number of quantizationlevels used to quantize the converted frequency domain information atstep 616 may be an appropriate and effective number (e.g., minimizes thepotential distortion in the resulting media).

Process 600 may continue to step 618. At step 618, the format converter(or another component, such as Bluetooth circuitry) may include thequantized data stream in one or more frames for Bluetooth transmission.The frames can include the quantized data stream produced at step 616,as well as quantized data streams for one or more other frequencysub-bands. Process 600 can then move to step 612 and end (or return tostep 608 so that the format converter can perform sub-process 607 foranother sub-band).

It should be understood that the steps of process 600 in FIG. 6 aremerely illustrative. Any of the steps may be modified, removed, orcombined, and additional steps may be added, without departing from thescope of the present invention.

The foregoing describes systems and methods for converting the format ofcompressed data to a format compatible with Bluetooth transmission.Those skilled in the art will appreciate that the invention can bepracticed by other than the described embodiments, which are presentedfor the purpose of illustration rather than of limitation, and theinvention is limited only by the claims which follow.

1. A format converter for performing format conversion on frequencydomain information having a first encoding format, wherein the frequencydomain information is contained within a frequency band, the formatconverter comprising: a band separation module configured to decomposean unfiltered version of the frequency domain information into aplurality of data streams, wherein each of the data streams isassociated with a distinct sub-band of the frequency band; and aplurality of conversion modules each configured to transform one of thedata streams from the first encoding format to a second encoding format.2. The format converter of claim 1, wherein the band separation moduleis implemented as a demultiplexer.
 3. The format converter of claim 1,wherein the frequency domain information is compressed audio media. 4.The format converter of claim 1, wherein the first encoding format is anadvanced audio coding (AAC) format.
 5. The format converter of claim 1,wherein the second encoding format is compatible with a Bluetoothtransmission protocol.
 6. The format converter of claim 1, wherein eachof the transformed data streams is represented in the frequency domain.7. The format converter of claim 6, wherein the plurality of conversionmodules are each configured to: transform one of the data streams from afirst frequency domain representation of a time domain signal to asecond frequency domain representation of the time domain signal.
 8. Theformat converter of claim 1, wherein the plurality of conversion modulesare each configured to transform one of the data streams from the firstencoding format to the second encoding format without converting thatdata stream into a time domain representation.
 9. The format converterof claim 1, further comprising: a bit allocation unit configured tocompute bit allocation information for each of the sub-bands using theunfiltered version of the frequency domain information; and a pluralityof quantizers, wherein each of the quantizers is configured to quantizeone of the transformed data streams based on the bit allocationinformation for an associated sub-band.
 10. The format converter ofclaim 9, wherein the bit allocation information for each sub-band isindicative of an amount of the frequency domain information contained inthat sub-band.
 11. The format converter of claim 10, wherein at leastone of the plurality of conversion modules is selectively disabled whenthe bit allocation unit determines that at least one of the sub-bandsdoes not contain at least a predetermined amount of the frequency domaininformation.
 12. The format converter of claim 9, wherein the pluralityof quantizers are each configured to: quantize one of the transformeddata streams into quantization levels, wherein the quantization levelsare based on the bit allocation information for an associated sub-band.13. A portable electronic device, comprising: audio processing circuitrycomprising a format converter for performing format conversion onfrequency domain audio information, wherein the frequency domain audioinformation is contained within a frequency band, and wherein the formatconverter comprises: a band separation module configured to decompose anunfiltered version the frequency domain audio information into aplurality of data streams, wherein each of the data streams isassociated with a distinct sub-band of the frequency band; and aplurality of conversion modules each configured to transform one of thedata streams from a first encoding format to a second encoding format.14. The portable electronic device of claim 13, further comprising astorage module for storing the frequency domain audio information. 15.The portable electronic device of claim 13, wherein the format converterfurther comprises: a bit allocation unit configured to compute bitallocation information for each of the sub-bands using the unfilteredversion of the frequency domain information; and a plurality ofquantizers, wherein each of the quantizers is configured to quantize oneof the transformed data streams based on the bit allocation informationfor an associated sub-band.
 16. The portable electronic device of claim15, further comprising: Bluetooth communications circuitry configured totransmit the quantized transformed data streams using a Bluetoothconnection.
 17. A method of performing format conversion on frequencydomain information having a first encoding format, wherein the frequencydomain information is contained within a frequency band, the methodcomprising: decomposing an unfiltered version of the frequency domaininformation into a plurality of data streams, wherein each data streamis associated with a distinct sub-band of the frequency band; andtransforming at least one of the plurality of data streams from thefirst encoding format to a second encoding format.
 18. The method ofclaim 17, the method further comprising: computing bit allocationinformation for each of the sub-bands using the unfiltered version ofthe frequency domain information; and quantizing each one of thetransformed data streams based on the bit allocation information for anassociated sub-band.
 19. The method of claim 18, the method furthercomprising: assembling the quantized transformed data streams intoframes for transmission over a communications link.
 20. The method ofclaim 18, wherein computing the bit allocation information comprises:computing bit allocation information for one of the sub-bands that isindicative of an amount of the frequency domain information that isassociated with that sub-band.
 21. The method of claim 20, the methodfurther comprising: for each of the data streams: determining whetherthe data stream contains at least a predetermined amount of informationbased on the bit allocation information for an associated sub-band; andin response to determining that the data stream contains at least thepredetermined amount of information, transforming the data stream fromthe first encoding format to the second encoding format.
 22. The methodof claim 17, wherein the frequency domain information comprises:compressed audio media.
 23. The method of claim 22, wherein thefrequency domain information comprises: compressed audio media that isin an advanced audio coding (AAC) format.
 24. The method of claim 17,wherein transforming the at least one of the data streams comprises:converting the at least one of the data streams into aBluetooth-compatible format.
 25. The method of claim 17, whereintransforming the at least one of the data streams comprises: convertingthe at least one of the data streams into data in the frequency domain.26. The method of claim 25, wherein transforming the at least one of thedata streams further comprises: converting the at least one of the datastreams from a first frequency domain representation of a time domainsignal to a second frequency domain representation of the time domainsignal.
 27. The method of claim 17, wherein transforming the at leastone of the data streams comprises: transforming the at least one of thedata streams from the first to the second format without converting thedata stream into a time domain representation.
 28. Apparatus forperforming format conversion on frequency domain information having afirst encoding format, wherein the frequency domain information iscontained within a frequency band, the apparatus comprising: means fordecomposing an unfiltered version of the frequency domain informationinto a plurality of data streams, wherein each data stream is associatedwith a distinct sub-band of the frequency band; and means fortransforming at least one of the plurality of data streams from thefirst encoding format to a second encoding format.
 29. The apparatus ofclaim 28, further comprising: means for computing bit allocationinformation for each of the sub-bands using the unfiltered version ofthe frequency domain information; and means for quantizing each one ofthe transformed data streams based on the bit allocation information foran associated sub-band.
 30. The apparatus of claim 29, furthercomprising: means for assembling the quantized transformed data streamsinto frames for transmission over a communications link.
 31. Theapparatus of claim 29, wherein the means for computing the bitallocation information comprises: means for computing bit allocationinformation for one of the sub-bands that is indicative of an amount ofthe frequency domain information that is associated with that sub-band.32. The apparatus of claim 31, the further comprising: for each of thedata streams: means for determining whether the data stream contains atleast a predetermined amount of information based on the bit allocationinformation for an associated sub-band; and means for transforming thedata stream from the first encoding format to the second encoding formatin response to determining that the data stream contains at least thepredetermined amount of information.
 33. Non-transitorycomputer-readable media for controlling an electronic device to performformat conversion on frequency domain information having a firstencoding format, wherein the frequency domain information is containedwithin a frequency band, the non-transitory computer-readable mediacomprising computer-readable code recorded thereon for: decomposing anunfiltered version of the frequency domain information into a pluralityof data streams, wherein each data stream is associated with a distinctsub-band of the frequency band; and transforming at least one of theplurality of data streams from the first encoding format to a secondencoding format.
 34. The non-transitory computer-readable media of claim33 further comprising additional computer-readable code recorded thereonfor: computing bit allocation information for each of the sub-bandsusing the unfiltered version of the frequency domain information; andquantizing each one of the transformed data streams based on the bitallocation information for an associated sub-band.
 35. Thenon-transitory computer-readable media of claim 34 further comprisingyet additional computer-readable code recorded thereon for: assemblingthe quantized transformed data streams into frames for transmission overa communications link.
 36. The non-transitory computer-readable media ofclaim 34 further comprising yet additional computer-readable coderecorded thereon for: computing bit allocation information for one ofthe sub-bands that is indicative of an amount of the frequency domaininformation that is associated with that sub-band.
 37. Thenon-transitory computer-readable media of claim 36 further comprisingeven yet additional computer-readable code recorded thereon for: foreach of the data streams: determining whether the data stream containsat least a predetermined amount of information based on the bitallocation information for an associated sub-band; and in response todetermining that the data stream contains at least the predeterminedamount of information, transforming the data stream from the firstencoding format to the second encoding format.